const crypto = require('crypto')

/**
 * 根据传入的内容返回其对应的hash值
 * @param data 需要处理的hash内容
 * @param digestFormat 最终得到的摘要格式
 * @param hashAlgorithm hash算法选择
 * @returns {*}
 * @constructor
 */
exports.Hash = function(data, digestFormat = 'base64', hashAlgorithm = 'sha') {
  return crypto.createHash(hashAlgorithm).update(data).digest(digestFormat)
}

/**
 * 随机数产生器，默认8字节base64形式随机数
 * @param byte 字节数
 * @param fmt 显示格式
 * @constructor
 */
exports.RandomNo = function(byte = 8, fmt = 'base64') {
  return crypto.randomBytes(byte).toString(fmt)
}
